From: Cosimo Cecchi Date: Sat, 16 Feb 2013 17:55:59 +0000 (-0500) Subject: viewSelector: block show apps button checked signal when resetting state X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~4824 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=d8b7ac904436d6be3c1d5b4df990f381cb8ba470;p=gnome-shell.git viewSelector: block show apps button checked signal when resetting state When we reset the state of the checked button due to the overview showing and hiding, block the normal checked callback and immediately switch to the workspaces page, so that windows seamlessly fade in. https://bugzilla.gnome.org/show_bug.cgi?id=693974 --- diff --git a/js/ui/viewSelector.js b/js/ui/viewSelector.js index 9a06c5c76..a32ee7f8c 100644 --- a/js/ui/viewSelector.js +++ b/js/ui/viewSelector.js @@ -57,6 +57,7 @@ const ViewSelector = new Lang.Class({ _init : function(searchEntry, showAppsButton) { this.actor = new Shell.Stack({ name: 'viewSelector' }); + this._showAppsBlocked = false; this._showAppsButton = showAppsButton; this._showAppsButton.connect('notify::checked', Lang.bind(this, this._onShowAppsButtonToggled)); @@ -247,12 +248,19 @@ const ViewSelector = new Lang.Class({ }, _onShowAppsButtonToggled: function() { - this._showPage(this._showAppsButton.checked ? this._appsPage - : this._workspacesPage); + if (this._showAppsBlocked) + return; + + this._showPage(this._showAppsButton.checked ? + this._appsPage : this._workspacesPage); }, _resetShowAppsButton: function() { + this._showAppsBlocked = true; this._showAppsButton.checked = false; + this._showAppsBlocked = false; + + this._showPage(this._workspacesPage, true); }, _onStageKeyPress: function(actor, event) {